<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>WebSocket</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/WebSocket"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-WebSocket rootpage-WebSocket skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">WebSocket</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr"><div class="infobox_v3 infobox infobox--frwiki noarchive">
<div class="entete icon communication" style="background-color: #DFEDFF;"><style data-mw-deduplicate="TemplateStyles:r228712581">
/* start https://fr.wikipedia.org/ */
.mw-parser-output .entete.communication{background-image:url("./_mw_/Picto_infobox_antenna.png")}
/* end https://fr.wikipedia.org/ */
</style>
<div>WebSocket</div>
</div>
<p class="mw-empty-elt">
</p><p class="mw-empty-elt">
</p>
<table><caption style="">Informations</caption>
<tbody><tr>
<th scope="row"> Fonction
</th>
<td>
Communication bi-directionnelle par-dessus une connexion TCP pour les navigateurs web</td>
</tr>
<tr>
<th scope="row"> <a href="Sigle" title="Sigle">Sigle</a>
</th>
<td>
ws</td>
</tr>
<tr>
<th scope="row"> Date de création
</th>
<td>
2011</td>
</tr>
<tr>
<th scope="row"> Auteur(s) / Autrice(s)
</th>
<td>
IETF</td>
</tr>
<tr>
<th scope="row"> <a href="Port_(logiciel)" title="Port (logiciel)">Port</a>
</th>
<td>
80 et 443</td>
</tr>
<tr>
<th scope="row"> <a href="Request_for_comments" title="Request for comments">RFC</a>
</th>
<td>
6455</td>
</tr>
</tbody></table>
</div>
<p><b>WebSocket</b> est un <a href="Standard_du_Web" class="mw-redirect" title="Standard du Web">standard du Web</a> désignant un <a href="Protocole_r%C3%A9seau" title="Protocole réseau">protocole réseau</a><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> de la <a href="Couche_application" title="Couche application">couche application</a> et une <a href="Interface_de_programmation" title="Interface de programmation">interface de programmation</a> du <a href="World_Wide_Web" title="World Wide Web">World Wide Web</a> visant à créer des canaux de communication full-duplex par-dessus une connexion TCP pour les navigateurs web. Le protocole a été normalisé par l'<a href="IETF" class="mw-redirect" title="IETF">IETF</a> dans la <abbr class="abbr" title="Request for comments" lang="en">RFC</abbr> 6455<sup id="cite_ref-RFC-6455-t-d_2-0" class="reference"><a href="#cite_note-RFC-6455-t-d-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> en 2011 et l'interface de programmation<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> par le <a href="W3C" class="mw-redirect" title="W3C">W3C</a>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Le_protocole_WebSocket">Le protocole WebSocket</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Principes_généraux"><span id="Principes_g.C3.A9n.C3.A9raux"></span>Principes généraux</h3></div>
<p>Le protocole WebSocket permet d'ouvrir un canal de communication bidirectionnel (ou "<a href="Duplex_(canal_de_communication)" title="Duplex (canal de communication)">full-duplex</a>") sur un <a href="Berkeley_sockets" title="Berkeley sockets">socket</a> TCP pour les <a href="Navigateur_web" title="Navigateur web">navigateurs</a> et les <a href="HTTPd" class="mw-redirect" title="HTTPd">serveurs web</a>. Plus spécifiquement, il permet donc :
</p>
<ul><li>la notification au client d'un changement d'état du serveur,</li>
<li>l'envoi de données en mode « pousser » (méthode Push) du serveur vers le client, sans que ce dernier ait à effectuer une requête.</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Le_besoin_d'une_communication_web_bidirectionnelle,_client_/_serveur"><span id="Le_besoin_d.27une_communication_web_bidirectionnelle.2C_client_.2F_serveur"></span>Le besoin d'une communication web bidirectionnelle, client / serveur</h3></div>
<p>L'interactivité croissante des <a href="Application_web" title="Application web">applications web</a>, consécutive à l'amélioration des performances des navigateurs, a rapidement rendu nécessaire le développement de techniques de communications bidirectionnelles entre l'application web client et les processus serveur. Des techniques basées sur l'appel de requête par le client via l'objet <a href="XMLHttpRequest" title="XMLHttpRequest">XMLHttpRequest</a> et utilisant des requêtes HTTP avec un type long <a href="Time_to_Live" title="Time to Live">TTL</a> stockées par le serveur pour une réponse ultérieure au client ont permis de pallier ce manque et ont été popularisées par le succès des architectures <a href="Ajax_(informatique)" title="Ajax (informatique)">Ajax</a>.
</p><p>Selon l'informaticien <a href="St%C3%A9phane_Bortzmeyer" title="Stéphane Bortzmeyer">Stéphane Bortzmeyer</a>, <span class="citation">« WebSocket offre donc pratiquement le même service aux applications que TCP »</span>, mais présente l'intérêt de contourner les nombreux obstacles intermédiaires aux flux réseau (<a href="Pare-feu_(informatique)" title="Pare-feu (informatique)">pare-feux</a> etc.) dans la <span class="citation">« jungle »</span> qu'est devenue le Web contemporain<sup id="cite_ref-:0_4-0" class="reference"><a href="#cite_note-:0-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>. En utilisant l'architecture d'HTTP (relais, authentification, ports 80 et 443), très peu filtrante, pour créer un nouveau protocole de transport, les créateurs de Websocket visent à assurer une communication réseau bidirectionnelle qui n'était plus garantie à travers TCP. La principale limite de Websocket est qu'il ne s'agit pas d'un protocole généraliste : la communication doit forcément se faire via le navigateur web du client, ou à travers certaines bibliothèques dédiées (voir section <span class="citation">« Implémentations »</span>).
</p>
<div class="mw-heading mw-heading2"><h2 id="L'API_WebSocket"><span id="L.27API_WebSocket"></span>L'API WebSocket</h2></div>
<p>L'interface de programmation WebSocket a été élaborée au sein du <a href="WHATWG" class="mw-redirect" title="WHATWG">WHATWG</a><sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Polémiques"><span id="Pol.C3.A9miques"></span>Polémiques</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Architecture_réseau"><span id="Architecture_r.C3.A9seau"></span>Architecture réseau</h3></div>
<p>Le principe même de WebSocket a été contesté au sein des organismes de spécification lors de son élaboration, au nom du fait qu'il valait sans doute mieux résoudre les problèmes de filtrage constatés dans la <a href="Couche_r%C3%A9seau" title="Couche réseau">couche réseau</a> plutôt que de créer un nouveau protocole au-dessus de la couche application
</p>
<div class="mw-heading mw-heading3"><h3 id="Sécurité"><span id="S.C3.A9curit.C3.A9"></span>Sécurité</h3></div>
<p>Une faille de sécurité a été découverte au sein de l'API des premières versions de websocket. La sécurité était compromise lors de la navigation en remplaçant pendant la phase de « <a href="Handshake" class="mw-redirect" title="Handshake">handshake</a> » un fichier <a href="JavaScript" title="JavaScript">JavaScript</a> par un malware. Cette faille se situant au niveau de l'API elle-même <sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>, elle ne pouvait pas être corrigée par un quelconque correctif au sein du navigateur. Dans certaines versions des navigateurs comme Firefox 4 et 5, Opera 11 et <a href="Internet_Explorer_9" title="Internet Explorer 9">Internet Explorer 9</a>, WebSocket a été désactivé à cause de cette faille.<br>
La faille de sécurité dans Firefox a été corrigée à partir de Firefox 6 (moteur Gecko 6.0) <sup id="cite_ref-a_7-0" class="reference"><a href="#cite_note-a-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>.<br>
Internet Explorer a implémenté le websocket avec IE10 <sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>.<br>
Sur Opéra, il était toujours possible de réactiver le websocket. À partir d'Opéra 12, le websocket est activé <sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Implémentations"><span id="Impl.C3.A9mentations"></span>Implémentations</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Navigateurs[7]"><span id="Navigateurs.5B7.5D"></span>Navigateurs<sup id="cite_ref-a_7-1" class="reference"><a href="#cite_note-a-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup></h3></div>
<table class="wikitable">
<tbody><tr>
<th>Caractéristiques</th>
<th>Chrome</th>
<th>Firefox (Gecko)</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari
</th></tr>
<tr>
<td>Support de la version -76</td>
<td>6</td>
<td>4.0 (2.0)</td>
<td>Pas de support</td>
<td>11.00 (désactivé)</td>
<td>5.0.1
</td></tr>
<tr>
<td>Support de la version du protocole 7</td>
<td>Pas de support</td>
<td>6.0</td>
<td>Pas de support</td>
<td>Pas de support</td>
<td>Pas de support
</td></tr>
<tr>
<td>Support de la version du Protocole 10</td>
<td>14</td>
<td>7.0</td>
<td>HTML5 Labs</td>
<td>?</td>
<td>?
</td></tr>
<tr>
<td>Standard - <a href="https://datatracker.ietf.org/doc/html/rfc6455" class="extiw external" title="rfc:6455">RFC 6455</a> Support</td>
<td>16</td>
<td>11.0</td>
<td>10</td>
<td>12.10</td>
<td>6
</td></tr></tbody></table>
<div class="mw-heading mw-heading3"><h3 id="Bibliothèques_logicielles"><span id="Biblioth.C3.A8ques_logicielles"></span>Bibliothèques logicielles</h3></div>
<div class="mw-heading mw-heading4"><h4 id="Java">Java</h4></div>
<ul><li><a href="GNU_WebSocket4J" title="GNU WebSocket4J">GNU WebSocket4J</a>, une implémentation du protocole WebSocket en <a href="Java_(langage)" title="Java (langage)">Java</a> ;</li>
<li><i>jWebSocket</i>, implémentation Java côté serveur et JavaScript/HTML5 côté client<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> ;</li>
<li><a href="Jetty" title="Jetty">Jetty</a></li></ul>
<div class="mw-heading mw-heading4"><h4 id="C">C</h4></div>
<ul><li>libwebsockets, une implémentation en C optimisée afin d'être légère et rapide<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>;</li>
<li><i>Apache WebSocket module</i><sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>, une implémentation en <a href="Langage_C" class="mw-redirect" title="Langage C">langage C</a> sous la forme d'une extension pour le <a href="Apache_HTTP_Server" title="Apache HTTP Server">serveur httpd Apache</a> (<i>mod_websocket</i>) ;</li></ul>
<div class="mw-heading mw-heading4"><h4 id="C++"><span id="C.2B.2B"></span>C++</h4></div>
<ul><li><i>QtWebsocket</i>, une implémentation client et serveur du protocole Websocket en <a href="C%2B%2B" title="C++">C++</a> (nécessite le framework <a href="Qt" title="Qt">Qt</a>) ;</li></ul>
<div class="mw-heading mw-heading4"><h4 id="Python">Python</h4></div>
<ul><li><i>pywebsocket</i><sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>, une implémentation en <a href="Python_(langage)" title="Python (langage)">Python</a> sous la forme d'une extension pour le <a href="Apache_HTTP_Server" title="Apache HTTP Server">serveur httpd Apache</a> (<i>mod_pywebsocket</i>) ;</li></ul>
<div class="mw-heading mw-heading4"><h4 id="PHP">PHP</h4></div>
<ul><li><i>Wrench</i> (anciennement <i>php-websocket</i>), implémentation PHP côté serveur et PHP/HTML5 côté client<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> ;</li>
<li><i>Ratchet</i>, une bibliothèque PHP de WebSocket <sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading4"><h4 id="Javascript">Javascript</h4></div>
<ul><li><i>ScaleDrone</i>, implémentation javascript du protocole pour REST, <a href="Node.js" title="Node.js">Node.js</a>, <a href="PHP" title="PHP">PHP</a>, <a href="Ruby" title="Ruby">Ruby</a> ;</li>
<li><i>Socket.io</i>, implémentation javascript du protocole pour <a href="Node.js" title="Node.js">Node.js</a> ;</li></ul>
<div class="mw-heading mw-heading4"><h4 id="Autres">Autres</h4></div>
<ul><li><i>APE Project</i>, support du protocole WebSocket (-hixie-75, -hixie-76, -hybi-ietf-06, -hybi-ietf-07)<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> ;</li>
<li><i>PubNub</i>, implémentation proposant une API, compatible avec tous les langages utilisés par les technologies mobiles, du web, et IoT, service gratuit ou payant ;</li>
<li><i>Pusher</i>, implémentation sous forme d'API compatible avec la plupart des langages ;</li>
<li><i>SignalR</i>, implémentation pour <a href="ASP.NET" title="ASP.NET">ASP.NET</a> en <a href="C_sharp" class="mw-redirect" title="C sharp">C#</a> ;</li>
<li><i>Simple Components</i><sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup>, implémentation en <a href="Ada_(langage)" title="Ada (langage)">Ada</a> utilisée par le framework <i>Gnoga</i><sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup></li>
<li><i>Protocol::WebSocket</i>, implémentation <a href="Perl_(langage)" title="Perl (langage)">Perl</a> du protocole ;</li>
<li><i>Websocketd</i>, un exécutable qui permet d'utiliser un programme écrit dans n'importe quel langage courant pour lancer un serveur websocket.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Notes_et_références"><span id="Notes_et_r.C3.A9f.C3.A9rences"></span>Notes et références</h2></div>
<div class="references-small decimal" style="column-width:36em; column-count:2;"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-06"><cite style="font-style:normal;" lang="en">The WebSocket Protocol</cite></a> », sur <span class="italique">tools.ietf.org</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2017-04-17" data-sort-value="2017-04-17">17 avril 2017</time>)</small></span></span>
</li>
<li id="cite_note-RFC-6455-t-d-2"><span class="mw-cite-backlink"><a href="#cite_ref-RFC-6455-t-d_2-0">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://tools.ietf.org/html/rfc6455"><span class="lang-en" lang="en">The WebSocket Protocol</span></a> », <span class="lang-en" lang="en"><a href="Request_for_comments" title="Request for comments">Request for comments</a></span> <abbr class="abbr" title="numéro">n<sup>o</sup></abbr> 6455, <time class="nowrap" datetime="2011-12" data-sort-value="2011-12">décembre 2011</time>
</span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://www.w3.org/TR/websockets/"><cite style="font-style:normal;" lang="en">WebSockets</cite></a> », sur <span class="italique">w3.org</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2023-10-15" data-sort-value="2023-10-15">15 octobre 2023</time>)</small></span>.</span>
</li>
<li id="cite_note-:0-4"><span class="mw-cite-backlink"><a href="#cite_ref-:0_4-0">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Bortzmeyer2011"><span class="ouvrage" id="Stéphane_Bortzmeyer2011">Stéphane Bortzmeyer, « <a rel="nofollow" class="external text" href="https://www.bortzmeyer.org/6455.html"><cite style="font-style:normal;">RFC 6455: The WebSocket protocol</cite></a> », sur <span class="italique">www.bortzmeyer.org</span>, <time class="nowrap" datetime="2011-12-11" data-sort-value="2011-12-11">11 décembre 2011</time> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2021-04-12" data-sort-value="2021-04-12">12 avril 2021</time>)</small></span></span></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://svn.whatwg.org/webapps/complete.html#websocket">Nouvelle plate-forme web dont l'API WebSocket</a> en cours de développement parallèlement au nouveau standard HTML5.</span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><a href="#cite_ref-6">↑</a> </span><span class="reference-text"><span class="ouvrage">« <a rel="nofollow" class="external text" href="http://www.ietf.org/mail-archive/web/hybi/current/msg04744.html"><cite style="font-style:normal;">[hybi] Experiment comparing Upgrade and CONNECT handshakes</cite></a> », sur <span class="italique">www.ietf.org</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2017-04-17" data-sort-value="2017-04-17">17 avril 2017</time>)</small></span></span>
</li>
<li id="cite_note-a-7"><span class="reference-text"><span class="ouvrage">« <a rel="nofollow" class="external text" href="https://developer.mozilla.org/fr/docs/WebSockets"><cite style="font-style:normal;">WebSockets</cite></a> », sur <span class="italique">Mozilla Developer Network</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2017-04-17" data-sort-value="2017-04-17">17 avril 2017</time>)</small></span></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><a href="#cite_ref-8">↑</a> </span><span class="reference-text"><span class="ouvrage">« <a rel="nofollow" class="external text" href="https://msdn.microsoft.com/fr-fr/library/hh673567(v=vs.85).aspx"><cite style="font-style:normal;">API WebSocket (Windows)</cite></a> », sur <span class="italique">msdn.microsoft.com</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2017-04-17" data-sort-value="2017-04-17">17 avril 2017</time>)</small></span></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><a href="#cite_ref-9">↑</a> </span><span class="reference-text"><span class="ouvrage" id="Specialist"><span class="ouvrage" id="David_Honneffer,_Documentation_Specialist"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> David Honneffer, Documentation <span class="nom_auteur">Specialist</span>, « <a rel="nofollow" class="external text" href="http://www.opera.com/docs/specs/presto2.12/apis/#websocket"><cite style="font-style:normal;" lang="en">Opera Software: API support in Opera Presto 2.12</cite></a> », sur <span class="italique">www.opera.com</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2017-04-17" data-sort-value="2017-04-17">17 avril 2017</time>)</small></span></span></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><a href="#cite_ref-10">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://jwebsocket.org/">Projet jWebSocket</a>, logiciel libre distribué sous la <a href="Licence_publique_g%C3%A9n%C3%A9rale_limit%C3%A9e_GNU" title="Licence publique générale limitée GNU">licence publique générale limitée GNU</a>.</span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><a href="#cite_ref-11">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://libwebsockets.org/"><cite style="font-style:normal;" lang="en">libwebsockets</cite></a> », sur <span class="italique">libwebsockets.org</span></span></span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><a href="#cite_ref-12">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://github.com/disconnect/apache-websocket">Projet apache-websocket</a>, <a href="Logiciel_libre" title="Logiciel libre">logiciel libre</a> sous <a href="Licence_Apache" title="Licence Apache">Apache 2.0</a>.</span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><a href="#cite_ref-13">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://code.google.com/p/pywebsocket/">Projet pywebsocket</a>, <a href="Logiciel_libre" title="Logiciel libre">logiciel libre</a> sous <a href="Licence_BSD_Modifi%C3%A9e#Licence_BSD_Modifi.C3.A9e" class="mw-redirect" title="Licence BSD Modifiée">licence BSD modifiée</a>.</span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><a href="#cite_ref-14">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="https://github.com/varspool/Wrench">Projet Wrench</a>, logiciel libre distribué sous la <a href="WTFPL" title="WTFPL">WTFPL</a>.</span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><a href="#cite_ref-15">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://socketo.me/docs/flow">Ratchet</a></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><a href="#cite_ref-16">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://www.ape-project.org/">APE Project</a>, logiciel libre distribué sous la <a href="Licence_publique_g%C3%A9n%C3%A9rale_GNU" title="Licence publique générale GNU">licence publique générale GNU</a>.</span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><a href="#cite_ref-17">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://www.dmitry-kazakov.de/ada/components.htm#16.11.8">Simple Components for Ada</a></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><a href="#cite_ref-18">↑</a> </span><span class="reference-text"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> <a rel="nofollow" class="external text" href="http://www.gnoga.com">Gnoga</a></span>
</li>
</ol>
</div>
<div class="mw-heading mw-heading2"><h2 id="Voir_aussi">Voir aussi</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Articles_connexes">Articles connexes</h3></div>
<ul><li><a href="Liste_des_codes_d'%C3%A9tat_WebSocket" title="Liste des codes d'état WebSocket">Liste des codes d'état WebSocket</a></li>
<li><a href="Comet_(informatique)" title="Comet (informatique)">Comet</a></li>
<li><a href="Server_push" title="Server push">Envoi poussé de données</a></li>
<li><a href="XML_socket" title="XML socket">XML socket</a></li>
<li><a href="BOSH" title="BOSH">BOSH</a></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Liens_externes">Liens externes</h3></div>
<div class="navbox-container" style="clear:both;">
</div>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail d’Internet</span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de l’informatique</span> </span></li> <li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail de la programmation informatique</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2025-06-14" href="https://fr.wikipedia.org/wiki/?title=WebSocket&oldid=226489511">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>